export function dateFormat(date=new Date(),fmt='YYYY-mm-dd HH:MM') {
    let ret;
    const opt = {
        "Y+": date.getFullYear().toString(),        // 年
        "m+": (date.getMonth() + 1).toString(),     // 月
        "d+": date.getDate().toString(),            // 日
        "H+": date.getHours().toString(),           // 时
        "M+": date.getMinutes().toString(),         // 分
        "S+": date.getSeconds().toString()          // 秒
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        }
    }
    return fmt;
}
export function deep_clone(obj) {
    return JSON.parse(JSON.stringify(obj));
}


export function isObject (obj) {
    return Object.prototype.toString.call(obj) === '[object Object]'
}
export function isEmptyObject (obj) {
   
    return JSON.stringify(obj) == "{}"
}
export function merge (target, ...arg) {
    return arg.reduce((acc, cur) => {
        return Object.keys(cur).reduce((subAcc, key) => {
        const srcVal = cur[key]
        if (isObject(srcVal)) {
            subAcc[key] = merge(subAcc[key] ? subAcc[key] : {}, srcVal)
        } else if (Array.isArray(srcVal)) {
            // series: []，下层数组直接赋值
            subAcc[key] = srcVal.map((item, idx) => {
            if (isObject(item)) {
                const curAccVal = subAcc[key] ? subAcc[key] : []
                return merge(curAccVal[idx] ? curAccVal[idx] : {}, item)
            } else {
                return item
            }
            })
        } else {
            subAcc[key] = srcVal
        }
        return subAcc
        }, acc)
    }, target)
}

export function getRandom(start, end, fixed=0) {
    const differ = end - start
    const random = Math.random()
    return (start + differ * random).toFixed(fixed)
}

export  function formateSeconds(endTime){
    let secondTime = parseInt(endTime)//将传入的秒的值转化为Number
    let min = 0// 初始化分
    let h =0// 初始化小时
    let result=''
    if(secondTime>60){//如果秒数大于60，将秒数转换成整数
      min=parseInt(secondTime/60)//获取分钟，除以60取整数，得到整数分钟
      secondTime=parseInt(secondTime%60)//获取秒数，秒数取佘，得到整数秒数
    //   if(min>60){//如果分钟大于60，将分钟转换成小时
    //     h=parseInt(min/60)//获取小时，获取分钟除以60，得到整数小时
    //     min=parseInt(min%60) //获取小时后取佘的分，获取分钟除以60取佘的分
    //   }
    }
   result=`${min.toString().padStart(2,'0')}:${secondTime.toString().padStart(2,'0')}`
    return result 
}